home *** CD-ROM | disk | FTP | other *** search
- /*
- ** Panel
- */
-
- #include "include/config.h"
-
- #include "include/gui.h"
- #include "include/panel.h"
- #include "include/download.h"
- #include "include/info.h"
- #include "include/share.h"
- #include "include/msg.h"
- #include "include/chat.h"
- #include "include/about.h"
- #include "include/prefs.h"
- #include "pix/logo.h"
- #include "pix/infoicon.h"
- #include "pix/msgicon.h"
- #include "pix/chaticon.h"
- #include "pix/dlicon.h"
- #include "pix/shareicon.h"
- #include "pix/prficon.h"
- #include "amster_Cat.h"
-
- ULONG panel_new(struct IClass *cl, Object *obj, struct opSet *msg);
- extern struct Hook handleHook;
-
-
- MUIF panel_dispatch(REG(a0) struct IClass *cl,REG(a2) Object *obj,REG(a1) Msg msg)
- {
- u_long tmp;
- struct paneldata *data = INST_DATA(cl,obj);;
-
- switch(msg->MethodID) {
- case OM_NEW: return(panel_new(cl,obj,(APTR)msg));
- case PANEL_OPENABOUT:
- set(data->logo,MUIA_Selected,FALSE);
- set(gui->awin,MUIA_Window_Open,TRUE);
- return(NULL);
- case PANEL_OPENDEBUG:
- GetAttr(MUIA_Selected,data->infoicon,&tmp);
- if(tmp!=TRUE) set(data->infoicon,MUIA_Selected,TRUE);
- set(gui->iwin,MUIA_Window_Open,TRUE);
- return(NULL);
- case PANEL_CLOSEDEBUG:
- GetAttr(MUIA_Selected,data->infoicon,&tmp);
- if(tmp!=FALSE) set(data->infoicon,MUIA_Selected,FALSE);
- set(gui->iwin,MUIA_Window_Open,FALSE);
- return(NULL);
- case PANEL_OPENDL:
- GetAttr(MUIA_Selected,data->dlicon,&tmp);
- if(tmp!=TRUE) set(data->dlicon,MUIA_Selected,TRUE);
- set(gui->dwin,MUIA_Window_Open,TRUE);
- return(NULL);
- case PANEL_CLOSEDL:
- GetAttr(MUIA_Selected,data->dlicon,&tmp);
- if(tmp!=FALSE) set(data->dlicon,MUIA_Selected,FALSE);
- set(gui->dwin,MUIA_Window_Open,FALSE);
- return(NULL);
- case PANEL_OPENSHARE:
- GetAttr(MUIA_Selected,data->shareicon,&tmp);
- if(tmp!=TRUE) set(data->shareicon,MUIA_Selected,TRUE);
- DoMethod(gui->shwin,SHARE_OPEN);
- return(NULL);
- case PANEL_CLOSESHARE:
- GetAttr(MUIA_Selected,data->shareicon,&tmp);
- if(tmp!=FALSE) set(data->shareicon,MUIA_Selected,FALSE);
- DoMethod(gui->shwin,SHARE_CLOSE);
- return(NULL);
- case PANEL_OPENPRF:
- GetAttr(MUIA_Selected,data->prficon,&tmp);
- if(tmp!=TRUE) set(data->prficon,MUIA_Selected,TRUE);
- DoMethod(gui->swin,PRF_OPEN);
- return(NULL);
- case PANEL_CLOSEPRF:
- GetAttr(MUIA_Selected,data->prficon,&tmp);
- if(tmp!=FALSE) set(data->prficon,MUIA_Selected,FALSE);
- DoMethod(gui->swin,(ULONG)(((muimsg)msg)->arg1));
- return(NULL);
- case PANEL_OPENMSG:
- DoMethod(gui->mwin,MSG_OPEN);
- return(NULL);
- case PANEL_NEWCHAT:
- {
- Object *win;
- win = NewObject(gui->chat_mcc->mcc_Class,NULL,TAG_DONE);
- if(!win) return(0);
- DoMethod(gui->app,OM_ADDMEMBER,win);
- set(win,MUIA_Window_Open,TRUE);
- return(0);
- }
- case PANEL_DISPOSECHAT:
- {
- Object *win;
- win = (Object *)(((muimsg)msg)->arg1);
- if(!win) return(0);
- set(win,MUIA_Window_Open,FALSE);
- DoMethod(gui->app,OM_REMMEMBER,win);
- MUI_DisposeObject(win);
- return(0);
- }
-
- }
- return(DoSuperMethodA(cl,obj,msg));
- }
-
-
- ULONG panel_new(struct IClass *cl, Object *obj, struct opSet *msg)
- {
- struct paneldata *data;
- Object *logo,*infoicon,*msgicon,*chaticon,*dlicon,*shareicon,*prficon;
-
- if (obj = (Object *)DoSuperNew(cl,obj,
- Child, VGroup,
- Child, logo = BodychunkObject,
- MUIA_FixWidth, LOGO_WIDTH,
- MUIA_FixHeight, LOGO_HEIGHT,
- MUIA_Bitmap_Width, LOGO_WIDTH,
- MUIA_Bitmap_Height, LOGO_HEIGHT,
- MUIA_Bodychunk_Depth, LOGO_DEPTH,
- MUIA_Bodychunk_Body, (ULONG *)logo_body,
- MUIA_Bodychunk_Compression, LOGO_COMPRESSION,
- MUIA_Bodychunk_Masking, LOGO_MASKING,
- MUIA_Bitmap_SourceColors, (ULONG *)logo_colors,
- MUIA_Bitmap_Transparent, 0,
- MUIA_InputMode, MUIV_InputMode_Immediate,
- MUIA_ShowSelState, FALSE,
- End,
- Child, VSpace(0),
- Child, infoicon = BodychunkObject,
- ImageButtonFrame,
- MUIA_Background, MUII_ButtonBack,
- MUIA_FixWidth, INFOICON_WIDTH,
- MUIA_FixHeight, INFOICON_HEIGHT,
- MUIA_Bitmap_Width, INFOICON_WIDTH,
- MUIA_Bitmap_Height, INFOICON_HEIGHT,
- MUIA_Bodychunk_Depth, INFOICON_DEPTH,
- MUIA_Bodychunk_Body, (ULONG *)infoicon_body,
- MUIA_Bodychunk_Compression, INFOICON_COMPRESSION,
- MUIA_Bodychunk_Masking, INFOICON_MASKING,
- MUIA_Bitmap_SourceColors, (ULONG *)infoicon_colors,
- MUIA_Bitmap_Transparent, 0,
- MUIA_InputMode, MUIV_InputMode_Toggle,
- End,
- Child, VSpace(0),
- Child, msgicon = BodychunkObject,
- ImageButtonFrame,
- MUIA_Background, MUII_ButtonBack,
- MUIA_FixWidth, MSGICON_WIDTH,
- MUIA_FixHeight, MSGICON_HEIGHT,
- MUIA_Bitmap_Width, MSGICON_WIDTH,
- MUIA_Bitmap_Height, MSGICON_HEIGHT,
- MUIA_Bodychunk_Depth, MSGICON_DEPTH,
- MUIA_Bodychunk_Body, (ULONG *)msgicon_body,
- MUIA_Bodychunk_Compression, MSGICON_COMPRESSION,
- MUIA_Bodychunk_Masking, MSGICON_MASKING,
- MUIA_Bitmap_SourceColors, (ULONG *)msgicon_colors,
- MUIA_Bitmap_Transparent, 0,
- MUIA_InputMode, MUIV_InputMode_RelVerify,
- End,
- Child, chaticon = BodychunkObject,
- ImageButtonFrame,
- MUIA_Background, MUII_ButtonBack,
- MUIA_FixWidth, CHATICON_WIDTH,
- MUIA_FixHeight, CHATICON_HEIGHT,
- MUIA_Bitmap_Width, CHATICON_WIDTH,
- MUIA_Bitmap_Height, CHATICON_HEIGHT,
- MUIA_Bodychunk_Depth, CHATICON_DEPTH,
- MUIA_Bodychunk_Body, (ULONG *)chaticon_body,
- MUIA_Bodychunk_Compression, CHATICON_COMPRESSION,
- MUIA_Bodychunk_Masking, CHATICON_MASKING,
- MUIA_Bitmap_SourceColors, (ULONG *)chaticon_colors,
- MUIA_Bitmap_Transparent, 0,
- MUIA_InputMode, MUIV_InputMode_RelVerify,
- End,
- Child, VSpace(0),
- Child, dlicon = BodychunkObject,
- ImageButtonFrame,
- MUIA_Background, MUII_ButtonBack,
- MUIA_FixWidth, DLICON_WIDTH,
- MUIA_FixHeight, DLICON_HEIGHT,
- MUIA_Bitmap_Width, DLICON_WIDTH,
- MUIA_Bitmap_Height, DLICON_HEIGHT,
- MUIA_Bodychunk_Depth, DLICON_DEPTH,
- MUIA_Bodychunk_Body, (ULONG *)dlicon_body,
- MUIA_Bodychunk_Compression, DLICON_COMPRESSION,
- MUIA_Bodychunk_Masking, DLICON_MASKING,
- MUIA_Bitmap_SourceColors, (ULONG *)dlicon_colors,
- MUIA_Bitmap_Transparent, 0,
- MUIA_InputMode, MUIV_InputMode_Toggle,
- End,
- Child, shareicon = BodychunkObject,
- ImageButtonFrame,
- MUIA_Background, MUII_ButtonBack,
- MUIA_FixWidth, SHAREICON_WIDTH,
- MUIA_FixHeight, SHAREICON_HEIGHT,
- MUIA_Bitmap_Width, SHAREICON_WIDTH,
- MUIA_Bitmap_Height, SHAREICON_HEIGHT,
- MUIA_Bodychunk_Depth, SHAREICON_DEPTH,
- MUIA_Bodychunk_Body, (ULONG *)shareicon_body,
- MUIA_Bodychunk_Compression, SHAREICON_COMPRESSION,
- MUIA_Bodychunk_Masking, SHAREICON_MASKING,
- MUIA_Bitmap_SourceColors, (ULONG *)shareicon_colors,
- MUIA_Bitmap_Transparent, 0,
- MUIA_InputMode, MUIV_InputMode_Toggle,
- End,
- Child, VSpace(0),
- Child, prficon = BodychunkObject,
- ImageButtonFrame,
- MUIA_Background, MUII_ButtonBack,
- MUIA_FixWidth, PRFICON_WIDTH,
- MUIA_FixHeight, PRFICON_HEIGHT,
- MUIA_Bitmap_Width, PRFICON_WIDTH,
- MUIA_Bitmap_Height, PRFICON_HEIGHT,
- MUIA_Bodychunk_Depth, PRFICON_DEPTH,
- MUIA_Bodychunk_Body, (ULONG *)prficon_body,
- MUIA_Bodychunk_Compression, PRFICON_COMPRESSION,
- MUIA_Bodychunk_Masking, PRFICON_MASKING,
- MUIA_Bitmap_SourceColors, (ULONG *)prficon_colors,
- MUIA_Bitmap_Transparent, 0,
- MUIA_InputMode, MUIV_InputMode_Toggle,
- End,
- Child, VSpace(0),
- End,
- TAG_MORE, msg->ops_AttrList))
- {
- data = INST_DATA(cl,obj);
- data->logo = logo;
- data->infoicon = infoicon;
- data->dlicon = dlicon;
- data->shareicon = shareicon;
- data->prficon = prficon;
-
- DoMethod(logo,MUIM_Notify,MUIA_Selected,TRUE,obj,1,PANEL_OPENABOUT);
-
- DoMethod(infoicon,MUIM_Notify,MUIA_Selected,TRUE,obj,1,PANEL_OPENDEBUG);
- DoMethod(infoicon,MUIM_Notify,MUIA_Selected,FALSE,obj,1,PANEL_CLOSEDEBUG);
- DoMethod(dlicon,MUIM_Notify,MUIA_Selected,TRUE,obj,1,PANEL_OPENDL);
- DoMethod(dlicon,MUIM_Notify,MUIA_Selected,FALSE,obj,1,PANEL_CLOSEDL);
- DoMethod(shareicon,MUIM_Notify,MUIA_Selected,TRUE,obj,1,PANEL_OPENSHARE);
- DoMethod(shareicon,MUIM_Notify,MUIA_Selected,FALSE,obj,1,PANEL_CLOSESHARE);
- DoMethod(prficon,MUIM_Notify,MUIA_Selected,TRUE,obj,1,PANEL_OPENPRF);
- DoMethod(prficon,MUIM_Notify,MUIA_Selected,FALSE,obj,2,PANEL_CLOSEPRF,PRF_CANCEL);
-
- DoMethod(msgicon,MUIM_Notify,MUIA_Pressed,FALSE,obj,1,PANEL_OPENMSG);
- DoMethod(chaticon,MUIM_Notify,MUIA_Pressed,FALSE,obj,1,PANEL_NEWCHAT);
-
- return((ULONG)obj);
- }
- return(0);
- }
-